const gulp = require('gulp');
const bs = require("browser-sync").create();
//gulp4.0及以上版本最好下载del6.1.0版本，太新的可能会有冲突
const del = require('del');
const fileinclude = require('gulp-file-include')
const autoprefixer=require('gulp-autoprefixer');
const uglify=require('gulp-uglifycss');
const babel = require('gulp-babel')
const sass=require('gulp-sass')(require('sass'));

//处理html文件，并传入打包文件中
gulp.task('html',function(done){
    setTimeout(function(){
        gulp.src('./src/*.html')
            .pipe(fileinclude({
                prefix:'@@',
                basepath:'@file'
            }))
            .pipe(gulp.dest('./dist/'))
            .pipe(bs.stream())
        done()
    },500)

})

//处理css文件，并传入打包文件中
gulp.task('scss',function(done){
    gulp.src('./src/css/*.scss')
        .pipe(sass.sync())
        .pipe(autoprefixer())
        .pipe(gulp.dest('./dist/css'))
        .pipe(bs.stream())
    done()
})
//处理css文件，并传入打包文件中
gulp.task('imgs',function(done){
    gulp.src('./src/images/**')
        .pipe(gulp.dest('./dist/images'))
        .pipe(bs.stream())
    done()
})
//处理csss文件，并传入打包文件中
gulp.task('css',function(done){
    gulp.src('./src/css/*.css')
        .pipe(gulp.dest('./dist/css'))
        .pipe(bs.stream())
    done()
})
//处理js文件，并传入打包文件中
gulp.task('js',function(done){
    gulp.src('./src/js/*.js')
        .pipe(gulp.dest("./dist/js"))
        .pipe(bs.stream())
    done()
})
//建立监听文件修改，启动实时刷新页面任务
gulp.task('watch',function(done){
    gulp.watch('./src/**',gulp.series('html','css','imgs','scss','js'))
    done()
})
//建立小型服务器
gulp.task('bs',function(done){
    bs.init({
        'server':{
            'baseDir':'./dist'
        }
    },done)
})
//删除之前打包的整个文件夹
gulp.task('del',function(done){
    del('./dist');
    done()
})
gulp.task('default',gulp.series('del','html','css','scss','imgs','js','watch','bs'))
//gulp.task('default',gulp.series('del','html','watch','bs',))
